SHELL基础知识

您所在的位置:网站首页 shell脚本 随机数 SHELL基础知识

SHELL基础知识

2024-02-19 12:58| 来源: 网络整理| 查看: 265

1. 如何生成随机数?

系统变量:RANDOM,默认会产生0~32767的随机整数

打印一个随机数 echo $RANDOM 查看系统上一次生成的随机数 # set|grep RANDOM RANDOM=28325 产生0~1之间的随机数 echo $[$RANDOM%2] 产生0~2之间的随机数 echo $[$RANDOM%3] 产生0~3之间的随机数 echo $[$RANDOM%4] 产生0~9内的随机数 echo $[$RANDOM%10] 产生0~100内的随机数 echo $[$RANDOM%101] 产生50-100之内的随机数 echo $[$RANDOM%51+50] 产生三位数的随机数 echo $[$RANDOM%900+100] 实战案例 ㈠ 随机产生以139开头的电话号码

具体需求1:

写一个脚本,产生一个phonenum.txt文件,随机产生以139开头的手机号1000个,每个一行。

① 思路

产生1000个电话号码,脚本需要循环1000次 FOR WHILE UNTIL

139+8位,后8位随机产生,可以让每一位数字都随机产生 echo $[$RANDOM%10]

将随机产生的数字分别保存到变量里,然后加上139保存到文件里

② 落地实现

#!/bin/env bash #产生1000个以139开头的电话号码并保存文件phonenum.txt file=/shell03/phonenum.txt for ((i=1;i> $file done #!/bin/bash # random phonenum # 循环1000次产生电话号码并保存到文件 for i in {1..1000} do n1=$[RANDOM%10] n2=$[RANDOM%10] n3=$[RANDOM%10] n4=$[RANDOM%10] n5=$[RANDOM%10] n6=$[RANDOM%10] n7=$[RANDOM%10] n8=$[RANDOM%10] echo "139$n1$n2$n3$n4$n5$n6$n7$n8" >> phonenum.txt done #!/bin/bash i=1 while [ $i -le 1000 ] do n1=$[$RANDOM%10] n2=$[$RANDOM%10] n3=$[$RANDOM%10] n4=$[$RANDOM%10] n5=$[$RANDOM%10] n6=$[$RANDOM%10] n7=$[$RANDOM%10] n8=$[$RANDOM%10] echo "139$n1$n2$n3$n4$n5$n6$n7$n8" >> phonenum.txt let i++ done continue:继续,跳过本次循环,执行下一次循环 break:打断,执行循环体外的代码do..done外 exit:退出程序 #!/bin/bash for i in {1..1000} do n1=$[$RANDOM%10] n2=$[$RANDOM%10] n3=$[$RANDOM%10] n4=$[$RANDOM%10] n5=$[$RANDOM%10] n6=$[$RANDOM%10] n7=$[$RANDOM%10] n8=$[$RANDOM%10] echo "139$n1$n2$n3$n4$n5$n6$n7$n8" >> phonenum.txt done #!/bin/bash #create phone num file for ((i=1;i luck.txt #删除已经被抽取的幸运观众号码 #sed -i "/$luck_num/d" $phone done #!/bin/bash file=/shell04/phonenum.txt for i in {1..5} do file_num=`wc -l $file |cut -d' ' -f1` line=`echo $[$RANDOM%$file_num+1]` luck=`head -n $line $file|tail -1` echo "139****${luck:7:4}" && echo $luck >> /shell04/luck_num.txt done #!/bin/bash for ((i=1;i user_pass.file #循环创建5个用户 for ((i=1;i> user_pass.file #循环创建5个用户 while read user pass do useradd $user echo $pass|passwd --stdin $user done < user_pass.file pwgen工具产生随机密码: [root@server shell04]# pwgen -cn1 12 Meep5ob1aesa [root@server shell04]# echo user0{1..3}:$(pwgen -cn1 12) user01:Bahqu9haipho user02:Feiphoh7moo4 user03:eilahj5eth2R [root@server shell04]# echo user0{1..3}:$(pwgen -cn1 12)|tr ' ' '\n' user01:eiwaShuZo5hi user02:eiDeih7aim9k user03:aeBahwien8co



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3